[INFO] cloning repository https://github.com/AkaraChen/agent-terminal
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AkaraChen/agent-terminal" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAkaraChen%2Fagent-terminal", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAkaraChen%2Fagent-terminal'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 426cb8dd3d167494ae06a681e31fd67b03cfe1f7
[INFO] fixing AkaraChen/agent-terminal against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAkaraChen%2Fagent-terminal" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AkaraChen/agent-terminal
[INFO] finished tweaking git repo https://github.com/AkaraChen/agent-terminal
[INFO] tweaked toml for git repo https://github.com/AkaraChen/agent-terminal written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AkaraChen/agent-terminal on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AkaraChen/agent-terminal already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5b7d2f06735c460221dce7b84e0de1bcfe26eb9b14455a8e400a0c0c3c4f0407
[INFO] running `Command { std: "docker" "start" "5b7d2f06735c460221dce7b84e0de1bcfe26eb9b14455a8e400a0c0c3c4f0407", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5b7d2f06735c460221dce7b84e0de1bcfe26eb9b14455a8e400a0c0c3c4f0407" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5b7d2f06735c460221dce7b84e0de1bcfe26eb9b14455a8e400a0c0c3c4f0407", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "5b7d2f06735c460221dce7b84e0de1bcfe26eb9b14455a8e400a0c0c3c4f0407" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/cli/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/vt-100/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/e2e/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking as-slice v0.2.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]     Checking aligned v0.4.3
[INFO] [stderr]     Checking core2 v0.4.0
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]     Checking y4m v0.8.0
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking bitstream-io v4.9.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking imgref v1.12.0
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking zune-core v0.5.1
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking avif-serialize v0.8.8
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking zune-jpeg v0.5.13
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking lab v0.11.0
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking image-webp v0.2.4
[INFO] [stderr]     Checking gif v0.14.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking euclid v0.22.13
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking deltae v0.3.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking uuid v1.22.0
[INFO] [stderr]     Checking vtparse v0.7.0 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]    Compiling terminfo v0.9.0
[INFO] [stderr]     Checking finl_unicode v1.3.0 (https://github.com/wez/finl_unicode.git?branch=no_std#a1892f26)
[INFO] [stderr]    Compiling wezterm-dynamic-derive v0.1.1 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking termios v0.3.3
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking memmem v0.1.1
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking serial-core v0.4.0
[INFO] [stderr]     Checking ioctl-rs v0.1.6
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking termios v0.2.2
[INFO] [stderr]     Checking humansize v2.1.3
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking serial-unix v0.4.0
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking serial v0.4.0
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking sdd v3.0.10
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking scc v2.4.0
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking lru v0.16.3
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.42
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking csscolorparser v0.6.2
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]    Compiling serial_test_derive v3.4.0
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]     Checking fancy-regex v0.14.0
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking wezterm-blob-leases v0.1.1 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking filedescriptor v0.8.3 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking filedescriptor v0.8.3
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking portable-pty v0.8.1
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking serial_test v3.4.0
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking wezterm-dynamic v0.2.1 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking wezterm-bidi v0.2.3 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking wezterm-color-types v0.3.0 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking wezterm-input-types v0.1.0 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking wezterm-char-props v0.1.3 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking wezterm-escape-parser v0.1.0 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking wezterm-cell v0.1.0 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking wezterm-surface v0.1.0 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking termwiz v0.24.0 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking wezterm-term v0.1.0 (https://github.com/wezterm/wezterm.git?rev=05343b387085842b434d267f91b6b0ec157e4331#05343b38)
[INFO] [stderr]     Checking vt-100 v0.1.0 (/opt/rustwide/workdir/crates/vt-100)
[INFO] [stderr]    Migrating crates/vt-100/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking agent-terminal-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Migrating crates/core/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/dsl.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 match read_frame::<Response>(&mut self.client.stream).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                               |
[INFO] [stdout]     |                       |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       |                                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 123 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/session.rs:309:35
[INFO] [stdout]      |
[INFO] [stdout]  296 |       let mut rx: Option<broadcast::Receiver<Vec<u8>>> = None;
[INFO] [stdout]      |           ------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `rx` calls a custom destructor
[INFO] [stdout]      |           `rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  301 | /             tokio::select! {
[INFO] [stdout]  302 | |                 req_result = read_frame::<Request>(&mut stream) => {
[INFO] [stdout]      | |                 ----------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `req_result` calls a custom destructor
[INFO] [stdout]      | |                 `req_result` will be dropped later as of Edition 2024
[INFO] [stdout]  303 | |                     match req_result {
[INFO] [stdout]  304 | |                         Ok(Request::Unsubscribe) => {
[INFO] [stdout] ...    |
[INFO] [stdout]  309 | |                             match pty_writer.lock() {
[INFO] [stdout]      | |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                                   |
[INFO] [stdout]      | |                                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                                   up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  310 | |                                 Ok(mut w) => {
[INFO] [stdout]      | |                                    -----
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    `w` calls a custom destructor
[INFO] [stdout]      | |                                    `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  323 | |                         }
[INFO] [stdout]      | |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  324 | |                         Ok(Request::GetOutput) => match buffer.lock() {
[INFO] [stdout]      | |                                                         -------------
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  325 | |                             Ok(buf) => Some(Response::Output {
[INFO] [stdout]      | |                                ---
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `buf` calls a custom destructor
[INFO] [stdout]      | |                                `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  336 | |                         Ok(Request::GetScreenHistory { count }) => match buffer.lock() {
[INFO] [stdout]      | |                                                                          -------------
[INFO] [stdout]      | |                                                                          |
[INFO] [stdout]      | |                                                                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                                                          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  337 | |                             Ok(buf) => {
[INFO] [stdout]      | |                                ---
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  376 | |             }
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             `output` calls a custom destructor
[INFO] [stdout]      | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures` calls a custom destructor
[INFO] [stdout]      | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  379 |               let req: Request = match read_frame(&mut stream).await {
[INFO] [stdout]      |                                        -----------------------------
[INFO] [stdout]      |                                        |                       |
[INFO] [stdout]      |                                        |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                        |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  390 |                   Request::WriteInput { data } => match pty_writer.lock() {
[INFO] [stdout]      |                                                         -----------------
[INFO] [stdout]      |                                                         |
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  391 |                       Ok(mut w) => {
[INFO] [stdout]      |                          -----
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                          `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  404 |                   Request::GetOutput => match buffer.lock() {
[INFO] [stdout]      |                                               -------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]  405 |                       Ok(buf) => Some(Response::Output {
[INFO] [stdout]      |                          ---
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  413 |                   Request::GetScreenHistory { count } => match buffer.lock() {
[INFO] [stdout]      |                                                                -------------
[INFO] [stdout]      |                                                                |
[INFO] [stdout]      |                                                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                                                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout]  414 |                       Ok(buf) => {
[INFO] [stdout]      |                          ---
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                          `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  440 |               if write_frame(&mut stream, &resp).await.is_err() {
[INFO] [stdout]      |                  -------------------------------------
[INFO] [stdout]      |                  |                               |
[INFO] [stdout]      |                  |                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                  |                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                  `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                  `#14` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `req_result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/session.rs:114:40
[INFO] [stdout]     |
[INFO] [stdout] 112 | /             tokio::select! {
[INFO] [stdout] 113 | |                 _ = ticker.tick() => {
[INFO] [stdout] 114 | |                     if let Ok(mut l) = LockFile::read(&session_id_hb) {
[INFO] [stdout]     | |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                        |
[INFO] [stdout]     | |                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 115 | |                         let _ = l.heartbeat();
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                 _ = cancel.changed() => break,
[INFO] [stdout] 119 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures` calls a custom destructor
[INFO] [stdout]     | |_____________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |               now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/session.rs:256:46
[INFO] [stdout]     |
[INFO] [stdout] 240 | /             tokio::select! {
[INFO] [stdout] 241 | |                 _ = sigwinch.recv() => {
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | |                         if let Ok(master) = pty_master_resize.lock() {
[INFO] [stdout]     | |                                   ------    ------------------------
[INFO] [stdout]     | |                                   |         |
[INFO] [stdout]     | |                                   |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                                   |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                   `master` calls a custom destructor
[INFO] [stdout]     | |                                   `master` will be dropped later as of Edition 2024
[INFO] [stdout] 253 | |                             let _ = master.resize(new_size);
[INFO] [stdout]     | |                                     -----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 256 | |                         if let Ok(mut buf) = buffer_resize.lock() {
[INFO] [stdout]     | |                                   -------    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                   |          |
[INFO] [stdout]     | |                                   |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                   |          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                                   `buf` calls a custom destructor
[INFO] [stdout]     | |                                   `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |                     }
[INFO] [stdout]     | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 260 | |                 }
[INFO] [stdout] 261 | |                 _ = cancel.changed() => break,
[INFO] [stdout] 262 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________`futures` calls a custom destructor
[INFO] [stdout]     |               `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `master` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/session.rs:199:52
[INFO] [stdout]      |
[INFO] [stdout]  189 |                 if *cancel.borrow() {
[INFO] [stdout]      |                     ---------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  199 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |        |
[INFO] [stdout]      |                                           |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                           |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                           `w` calls a custom destructor
[INFO] [stdout]      |                                           `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  204 |                             } else if key_event.code == event::KeyCode::Enter {
[INFO] [stdout]      |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  205 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  211 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/session.rs:205:52
[INFO] [stdout]      |
[INFO] [stdout]  189 |                 if *cancel.borrow() {
[INFO] [stdout]      |                     ---------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  199 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           `w` calls a custom destructor
[INFO] [stdout]      |                                           `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  205 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |        |
[INFO] [stdout]      |                                           |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                           |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  210 |                             } else if key_event.code == event::KeyCode::Backspace {
[INFO] [stdout]      |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  211 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/session.rs:211:52
[INFO] [stdout]      |
[INFO] [stdout]  189 |                 if *cancel.borrow() {
[INFO] [stdout]      |                     ---------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  199 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           `w` calls a custom destructor
[INFO] [stdout]      |                                           `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  205 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  211 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |        |
[INFO] [stdout]      |                                           |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                           |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  216 |                             }
[INFO] [stdout]      |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/dsl.rs:101:23
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 match read_frame::<Response>(&mut self.client.stream).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                               |
[INFO] [stdout]     |                       |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       |                                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 123 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/session.rs:309:35
[INFO] [stdout]      |
[INFO] [stdout]  296 |       let mut rx: Option<broadcast::Receiver<Vec<u8>>> = None;
[INFO] [stdout]      |           ------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `rx` calls a custom destructor
[INFO] [stdout]      |           `rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  301 | /             tokio::select! {
[INFO] [stdout]  302 | |                 req_result = read_frame::<Request>(&mut stream) => {
[INFO] [stdout]      | |                 ----------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `req_result` calls a custom destructor
[INFO] [stdout]      | |                 `req_result` will be dropped later as of Edition 2024
[INFO] [stdout]  303 | |                     match req_result {
[INFO] [stdout]  304 | |                         Ok(Request::Unsubscribe) => {
[INFO] [stdout] ...    |
[INFO] [stdout]  309 | |                             match pty_writer.lock() {
[INFO] [stdout]      | |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                                   |
[INFO] [stdout]      | |                                   this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                                   up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  310 | |                                 Ok(mut w) => {
[INFO] [stdout]      | |                                    -----
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    `w` calls a custom destructor
[INFO] [stdout]      | |                                    `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  323 | |                         }
[INFO] [stdout]      | |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  324 | |                         Ok(Request::GetOutput) => match buffer.lock() {
[INFO] [stdout]      | |                                                         -------------
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  325 | |                             Ok(buf) => Some(Response::Output {
[INFO] [stdout]      | |                                ---
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `buf` calls a custom destructor
[INFO] [stdout]      | |                                `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  336 | |                         Ok(Request::GetScreenHistory { count }) => match buffer.lock() {
[INFO] [stdout]      | |                                                                          -------------
[INFO] [stdout]      | |                                                                          |
[INFO] [stdout]      | |                                                                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                                                          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  337 | |                             Ok(buf) => {
[INFO] [stdout]      | |                                ---
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  376 | |             }
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             `output` calls a custom destructor
[INFO] [stdout]      | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures` calls a custom destructor
[INFO] [stdout]      | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  379 |               let req: Request = match read_frame(&mut stream).await {
[INFO] [stdout]      |                                        -----------------------------
[INFO] [stdout]      |                                        |                       |
[INFO] [stdout]      |                                        |                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                        |                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                        `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  390 |                   Request::WriteInput { data } => match pty_writer.lock() {
[INFO] [stdout]      |                                                         -----------------
[INFO] [stdout]      |                                                         |
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  391 |                       Ok(mut w) => {
[INFO] [stdout]      |                          -----
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                          `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  404 |                   Request::GetOutput => match buffer.lock() {
[INFO] [stdout]      |                                               -------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]  405 |                       Ok(buf) => Some(Response::Output {
[INFO] [stdout]      |                          ---
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  413 |                   Request::GetScreenHistory { count } => match buffer.lock() {
[INFO] [stdout]      |                                                                -------------
[INFO] [stdout]      |                                                                |
[INFO] [stdout]      |                                                                this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                                                                `#11` will be dropped later as of Edition 2024
[INFO] [stdout]  414 |                       Ok(buf) => {
[INFO] [stdout]      |                          ---
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                          `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  440 |               if write_frame(&mut stream, &resp).await.is_err() {
[INFO] [stdout]      |                  -------------------------------------
[INFO] [stdout]      |                  |                               |
[INFO] [stdout]      |                  |                               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                  |                               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                  `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                  `#14` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `req_result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/session.rs:114:40
[INFO] [stdout]     |
[INFO] [stdout] 112 | /             tokio::select! {
[INFO] [stdout] 113 | |                 _ = ticker.tick() => {
[INFO] [stdout] 114 | |                     if let Ok(mut l) = LockFile::read(&session_id_hb) {
[INFO] [stdout]     | |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                        |
[INFO] [stdout]     | |                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 115 | |                         let _ = l.heartbeat();
[INFO] [stdout]     | |                                 -------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |                 _ = cancel.changed() => break,
[INFO] [stdout] 119 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |             `futures` calls a custom destructor
[INFO] [stdout]     | |_____________`futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |               now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/src/session.rs:256:46
[INFO] [stdout]     |
[INFO] [stdout] 240 | /             tokio::select! {
[INFO] [stdout] 241 | |                 _ = sigwinch.recv() => {
[INFO] [stdout] ...   |
[INFO] [stdout] 252 | |                         if let Ok(master) = pty_master_resize.lock() {
[INFO] [stdout]     | |                                   ------    ------------------------
[INFO] [stdout]     | |                                   |         |
[INFO] [stdout]     | |                                   |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                                   |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                   `master` calls a custom destructor
[INFO] [stdout]     | |                                   `master` will be dropped later as of Edition 2024
[INFO] [stdout] 253 | |                             let _ = master.resize(new_size);
[INFO] [stdout]     | |                                     -----------------------
[INFO] [stdout]     | |                                     |
[INFO] [stdout]     | |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 256 | |                         if let Ok(mut buf) = buffer_resize.lock() {
[INFO] [stdout]     | |                                   -------    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     | |                                   |          |
[INFO] [stdout]     | |                                   |          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                   |          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                                   `buf` calls a custom destructor
[INFO] [stdout]     | |                                   `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 259 | |                     }
[INFO] [stdout]     | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 260 | |                 }
[INFO] [stdout] 261 | |                 _ = cancel.changed() => break,
[INFO] [stdout] 262 | |             }
[INFO] [stdout]     | |             -
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |             `futures_init` calls a custom destructor
[INFO] [stdout]     | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____________`futures` calls a custom destructor
[INFO] [stdout]     |               `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `master` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking agent-terminal-e2e v0.1.0 (/opt/rustwide/workdir/crates/e2e)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/session.rs:199:52
[INFO] [stdout]      |
[INFO] [stdout]  189 |                 if *cancel.borrow() {
[INFO] [stdout]      |                     ---------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  199 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |        |
[INFO] [stdout]      |                                           |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                           |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                           `w` calls a custom destructor
[INFO] [stdout]      |                                           `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  204 |                             } else if key_event.code == event::KeyCode::Enter {
[INFO] [stdout]      |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  205 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  211 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/session.rs:205:52
[INFO] [stdout]      |
[INFO] [stdout]  189 |                 if *cancel.borrow() {
[INFO] [stdout]      |                     ---------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  199 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           `w` calls a custom destructor
[INFO] [stdout]      |                                           `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  205 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |        |
[INFO] [stdout]      |                                           |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                           |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  210 |                             } else if key_event.code == event::KeyCode::Backspace {
[INFO] [stdout]      |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  211 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/core/src/session.rs:211:52
[INFO] [stdout]      |
[INFO] [stdout]  189 |                 if *cancel.borrow() {
[INFO] [stdout]      |                     ---------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  199 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           `w` calls a custom destructor
[INFO] [stdout]      |                                           `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  205 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  211 |                                 if let Ok(mut w) = writer_for_stdin.lock() {
[INFO] [stdout]      |                                           -----    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                           |        |
[INFO] [stdout]      |                                           |        this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                           |        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                           `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  216 |                             }
[INFO] [stdout]      |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lock_api-0.4.14/src/rwlock.rs:1432:1
[INFO] [stdout]      |
[INFO] [stdout] 1432 | impl<'a, R: RawRwLock + 'a, T: ?Sized + 'a> Drop for RwLockReadGuard<'a, R, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/core/tests/stress_test.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/core/tests/common/mod.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/stress_test.rs:26:42
[INFO] [stdout]     |
[INFO] [stdout]  26 |               if let Ok((mut stream, _)) = listener.accept().await {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                            |                 |
[INFO] [stdout]     |                                            |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                            |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                            `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  27 |                   let buf = Arc::clone(&buf_clone);
[INFO] [stdout]  28 | /                 tokio::spawn(async move {
[INFO] [stdout]  29 | |                     loop {
[INFO] [stdout]  30 | |                         match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]  31 | |                             Ok(Request::WriteInput { data }) => {
[INFO] [stdout] ...   |
[INFO] [stdout]  59 | |                 });
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  60 |               }
[INFO] [stdout]  61 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/stress_test.rs:30:31
[INFO] [stdout]     |
[INFO] [stdout]  30 |                           match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                 |                                  |
[INFO] [stdout]     |                                 |                                  this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                 |                                  up until Edition 2021 `#18` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                 up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                 `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  31 |                               Ok(Request::WriteInput { data }) => {
[INFO] [stdout]  32 |                                   buf.lock().await.push_str(&data);
[INFO] [stdout]     |                                   ----------------
[INFO] [stdout]     |                                   |          |
[INFO] [stdout]     |                                   |          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                   |          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  33 |                                   let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                           ---------------------------------------------
[INFO] [stdout]     |                                           |                                       |
[INFO] [stdout]     |                                           |                                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                           |                                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                           `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  36 |                                   let content = buf.lock().await.clone();
[INFO] [stdout]     |                                                 ----------------
[INFO] [stdout]     |                                                 |          |
[INFO] [stdout]     |                                                 |          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                                 |          `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  42 |                                   let _ = write_frame(&mut stream, &resp).await;
[INFO] [stdout]     |                                           -------------------------------------
[INFO] [stdout]     |                                           |                               |
[INFO] [stdout]     |                                           |                               this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                           |                               `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                           `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  48 |                                   let _ = write_frame(
[INFO] [stdout]     |  _________________________________________-
[INFO] [stdout]  49 | |                                     &mut stream,
[INFO] [stdout]  50 | |                                     &Response::Error {
[INFO] [stdout]  51 | |                                         message: "not supported".into(),
[INFO] [stdout] ...   |
[INFO] [stdout]  54 | |                                 .await;
[INFO] [stdout]     | |                                  -----
[INFO] [stdout]     | |                                  |   |
[INFO] [stdout]     | |                                  |   this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     | |                                  |   `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________________________________|___this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                    |   `#15` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                    `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  58 |                       }
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/stress_test.rs:150:42
[INFO] [stdout]     |
[INFO] [stdout] 150 |               if let Ok((mut stream, _)) = listener.accept().await {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                            |                 |
[INFO] [stdout]     |                                            |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                            |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                            |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                            up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                            `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                            `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 151 |                   let data = Arc::clone(&large_data);
[INFO] [stdout] 152 | /                 tokio::spawn(async move {
[INFO] [stdout] 153 | |                     loop {
[INFO] [stdout] 154 | |                         match read_frame::<Request>(&mut stream).await {
[INFO] [stdout] 155 | |                             Ok(Request::GetOutput) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 169 | |                 });
[INFO] [stdout]     | |                  -
[INFO] [stdout]     | |                  |
[INFO] [stdout]     | |__________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 170 |               }
[INFO] [stdout] 171 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/stress_test.rs:154:31
[INFO] [stdout]     |
[INFO] [stdout] 154 |                         match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                               |                                  |
[INFO] [stdout]     |                               |                                  this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                               |                                  up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                               up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 161 |                                 let _ = write_frame(&mut stream, &resp).await;
[INFO] [stdout]     |                                         -------------------------------------
[INFO] [stdout]     |                                         |                               |
[INFO] [stdout]     |                                         |                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         |                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 164 |                                 let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                         ---------------------------------------------
[INFO] [stdout]     |                                         |                                       |
[INFO] [stdout]     |                                         |                                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                         |                                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 168 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/core/tests/concurrency_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/core/tests/error_handling_test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/concurrency_test.rs:34:46
[INFO] [stdout]     |
[INFO] [stdout]  34 |                   if let Ok((mut stream, _)) = listener.accept().await {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                                |                 |
[INFO] [stdout]     |                                                |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  35 |                       let buf = Arc::clone(&buf_clone);
[INFO] [stdout]  36 | /                     tokio::spawn(async move {
[INFO] [stdout]  37 | |                         loop {
[INFO] [stdout]  38 | |                             match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]  39 | |                                 Ok(Request::WriteInput { data }) => {
[INFO] [stdout] ...   |
[INFO] [stdout]  67 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  68 |                   }
[INFO] [stdout]  69 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/concurrency_test.rs:38:35
[INFO] [stdout]     |
[INFO] [stdout]  38 |                               match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |                                  |
[INFO] [stdout]     |                                     |                                  this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                     |                                  up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                     up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  39 |                                   Ok(Request::WriteInput { data }) => {
[INFO] [stdout]  40 |                                       buf.lock().unwrap().push_str(&data);
[INFO] [stdout]     |                                       -------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  41 |                                       let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                               ---------------------------------------------
[INFO] [stdout]     |                                               |                                       |
[INFO] [stdout]     |                                               |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                               |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  44 |                                       let content = buf.lock().unwrap().clone();
[INFO] [stdout]     |                                                     -------------------
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  50 |                                       let _ = write_frame(&mut stream, &resp).await;
[INFO] [stdout]     |                                               -------------------------------------
[INFO] [stdout]     |                                               |                               |
[INFO] [stdout]     |                                               |                               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                               |                               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  56 |                                       let _ = write_frame(
[INFO] [stdout]     |  _____________________________________________-
[INFO] [stdout]  57 | |                                         &mut stream,
[INFO] [stdout]  58 | |                                         &Response::Error {
[INFO] [stdout]  59 | |                                             message: "not supported".into(),
[INFO] [stdout] ...   |
[INFO] [stdout]  62 | |                                     .await;
[INFO] [stdout]     | |                                      -----
[INFO] [stdout]     | |                                      |   |
[INFO] [stdout]     | |                                      |   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                      |   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________________________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                        |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                        `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  66 |                           }
[INFO] [stdout]     |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/concurrency_test.rs:130:46
[INFO] [stdout]     |
[INFO] [stdout] 130 |                   if let Ok((mut stream, _)) = listener.accept().await {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                                |                 |
[INFO] [stdout]     |                                                |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 131 |                       let buf = Arc::clone(&buf_clone);
[INFO] [stdout] 132 | /                     tokio::spawn(async move {
[INFO] [stdout] 133 | |                         loop {
[INFO] [stdout] 134 | |                             match read_frame::<Request>(&mut stream).await {
[INFO] [stdout] 135 | |                                 Ok(Request::GetOutput) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 150 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 151 |                   }
[INFO] [stdout] 152 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/concurrency_test.rs:134:35
[INFO] [stdout]     |
[INFO] [stdout] 134 |                             match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |                                  |
[INFO] [stdout]     |                                   |                                  this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                   |                                  up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 135 |                                 Ok(Request::GetOutput) => {
[INFO] [stdout] 136 |                                     let content = buf.lock().unwrap().clone();
[INFO] [stdout]     |                                                   -------------------
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 142 |                                     let _ = write_frame(&mut stream, &resp).await;
[INFO] [stdout]     |                                             -------------------------------------
[INFO] [stdout]     |                                             |                               |
[INFO] [stdout]     |                                             |                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                             |                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 145 |                                     let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                             ---------------------------------------------
[INFO] [stdout]     |                                             |                                       |
[INFO] [stdout]     |                                             |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                             |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                             `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 149 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/concurrency_test.rs:220:46
[INFO] [stdout]     |
[INFO] [stdout] 220 |                   if let Ok((mut stream, _)) = listener.accept().await {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                                |                 |
[INFO] [stdout]     |                                                |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                |                 up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                                `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 221 |                       let buf = Arc::clone(&buf_clone);
[INFO] [stdout] 222 | /                     tokio::spawn(async move {
[INFO] [stdout] 223 | |                         loop {
[INFO] [stdout] 224 | |                             match read_frame::<Request>(&mut stream).await {
[INFO] [stdout] 225 | |                                 Ok(Request::WriteInput { data }) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 253 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 254 |                   }
[INFO] [stdout] 255 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/concurrency_test.rs:224:35
[INFO] [stdout]     |
[INFO] [stdout] 224 |                               match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |                                  |
[INFO] [stdout]     |                                     |                                  this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                     |                                  up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                     up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] 225 |                                   Ok(Request::WriteInput { data }) => {
[INFO] [stdout] 226 |                                       buf.lock().unwrap().push_str(&data);
[INFO] [stdout]     |                                       -------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 227 |                                       let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                               ---------------------------------------------
[INFO] [stdout]     |                                               |                                       |
[INFO] [stdout]     |                                               |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                               |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                                       let content = buf.lock().unwrap().clone();
[INFO] [stdout]     |                                                     -------------------
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 236 |                                       let _ = write_frame(&mut stream, &resp).await;
[INFO] [stdout]     |                                               -------------------------------------
[INFO] [stdout]     |                                               |                               |
[INFO] [stdout]     |                                               |                               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                               |                               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 242 |                                       let _ = write_frame(
[INFO] [stdout]     |  _____________________________________________-
[INFO] [stdout] 243 | |                                         &mut stream,
[INFO] [stdout] 244 | |                                         &Response::Error {
[INFO] [stdout] 245 | |                                             message: "not supported".into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 248 | |                                     .await;
[INFO] [stdout]     | |                                      -----
[INFO] [stdout]     | |                                      |   |
[INFO] [stdout]     | |                                      |   this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                      |   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________________________|___this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                        |   `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                        `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 252 |                           }
[INFO] [stdout]     |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/e2e/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/core/tests/lock_integration_test.rs from 2021 edition to 2024
[INFO] [stderr]     Checking cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/e2e/src/session.rs:228:35
[INFO] [stdout]      |
[INFO] [stdout]  216 |       let mut rx: Option<tokio::sync::broadcast::Receiver<Vec<u8>>> = None;
[INFO] [stdout]      |           ------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `rx` calls a custom destructor
[INFO] [stdout]      |           `rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  220 | /             tokio::select! {
[INFO] [stdout]  221 | |                 req_result = read_frame::<Request>(&mut stream) => {
[INFO] [stdout]      | |                 ----------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `req_result` calls a custom destructor
[INFO] [stdout]      | |                 `req_result` will be dropped later as of Edition 2024
[INFO] [stdout]  222 | |                     match req_result {
[INFO] [stdout]  223 | |                         Ok(Request::Unsubscribe) => {
[INFO] [stdout] ...    |
[INFO] [stdout]  228 | |                             match pty_writer.lock() {
[INFO] [stdout]      | |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                                   |
[INFO] [stdout]      | |                                   this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                   up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  229 | |                                 Ok(mut w) => {
[INFO] [stdout]      | |                                    -----
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    `w` calls a custom destructor
[INFO] [stdout]      | |                                    `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  242 | |                         }
[INFO] [stdout]      | |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  243 | |                         Ok(Request::GetOutput) => match buffer.lock() {
[INFO] [stdout]      | |                                                         -------------
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  244 | |                             Ok(buf) => {
[INFO] [stdout]      | |                                ---
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `buf` calls a custom destructor
[INFO] [stdout]      | |                                `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  272 | |             }
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             `output` calls a custom destructor
[INFO] [stdout]      | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures` calls a custom destructor
[INFO] [stdout]      | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  273 |           } else {
[INFO] [stdout]  274 |               let req: Request = match read_frame(&mut stream).await {
[INFO] [stdout]      |                                        -----------------------------
[INFO] [stdout]      |                                        |                       |
[INFO] [stdout]      |                                        |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                        |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 |                   Request::WriteInput { data } => match pty_writer.lock() {
[INFO] [stdout]      |                                                         -----------------
[INFO] [stdout]      |                                                         |
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  286 |                       Ok(mut w) => {
[INFO] [stdout]      |                          -----
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  299 |                   Request::GetOutput => match buffer.lock() {
[INFO] [stdout]      |                                               -------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  300 |                       Ok(buf) => {
[INFO] [stdout]      |                          ---
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                          `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 |               if write_frame(&mut stream, &resp).await.is_err() {
[INFO] [stdout]      |                  -------------------------------------
[INFO] [stdout]      |                  |                               |
[INFO] [stdout]      |                  |                               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                  |                               `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                  `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                  `#10` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `req_result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/e2e/src/session.rs:156:57
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let mut runner = TestRunner::connect(&self.socket_path).await?;
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `runner` calls a custom destructor
[INFO] [stdout]     |             `runner` will be dropped later as of Edition 2024
[INFO] [stdout] 156 |         execute_commands(&mut runner, &script.commands).await
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 157 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `runner` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/e2e/src/session.rs:171:34
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let mut runner = TestRunner::connect(&self.socket_path).await?;
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `runner` calls a custom destructor
[INFO] [stdout]     |             `runner` will be dropped later as of Edition 2024
[INFO] [stdout] 171 |         builder.run(&mut runner).await
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `runner` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/core/tests/session_integration_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/core/tests/vim_integration_test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/session_integration_test.rs:66:39
[INFO] [stdout]     |
[INFO] [stdout]  66 |   ...                       match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |                                  |
[INFO] [stdout]     |                                   |                                  this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                   |                                  up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                   up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  69 |   ...                               buf.lock().unwrap().push(data.as_bytes());
[INFO] [stdout]     |                                     -------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  70 |   ...                               let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                             ---------------------------------------------
[INFO] [stdout]     |                                             |                                       |
[INFO] [stdout]     |                                             |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                             |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  74 |   ...                                   let b = buf.lock().unwrap();
[INFO] [stdout]     |                                             -
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             `b` calls a custom destructor
[INFO] [stdout]     |                                             `b` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  81 |   ...                               let _ = write_frame(&mut stream, &resp).await;
[INFO] [stdout]     |                                             -------------------------------------
[INFO] [stdout]     |                                             |                               |
[INFO] [stdout]     |                                             |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                             |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                             `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  84 |   ...                               let _ = write_frame(&mut stream, &Response::Error {
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout]  85 | | ...                                   message: "not supported".into(),
[INFO] [stdout]  86 | | ...                               }).await;
[INFO] [stdout]     | |                                      -----
[INFO] [stdout]     | |                                      |   |
[INFO] [stdout]     | |                                      |   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |                                      |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________________________|___this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                        |   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                        `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  90 |   ...                   }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/session_integration_test.rs:197:33
[INFO] [stdout]     |
[INFO] [stdout] 195 |             let mut client = IpcClient::connect(&path).await.unwrap();
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `client` calls a custom destructor
[INFO] [stdout]     |                 `client` will be dropped later as of Edition 2024
[INFO] [stdout] 196 |             client.write_input(&format!("client {}", i)).await.unwrap();
[INFO] [stdout] 197 |             client.get_output().await.unwrap()
[INFO] [stdout]     |                                 ^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 198 |         }));
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> crates/core/tests/vim_integration_test.rs:59:38
[INFO] [stdout]    |
[INFO] [stdout] 55 |                     if let Ok(mut buf) = buf_clone.lock() {
[INFO] [stdout]    |                               -------    ----------------
[INFO] [stdout]    |                               |          |
[INFO] [stdout]    |                               |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                               |          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]    |                               `buf` calls a custom destructor
[INFO] [stdout]    |                               `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 59 |                     if let Ok(buf) = buf_clone.lock() {
[INFO] [stdout]    |                               ---    ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                               |      |
[INFO] [stdout]    |                               |      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                               |      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 69 |                 }
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/core/tests/cli_integration_test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/cli_integration_test.rs:37:35
[INFO] [stdout]     |
[INFO] [stdout]  33 | /                 tokio::select! {
[INFO] [stdout]  34 | |                     accept = listener.accept() => {
[INFO] [stdout]     | |                     ------
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     `accept` calls a custom destructor
[INFO] [stdout]     | |                     `accept` will be dropped later as of Edition 2024
[INFO] [stdout]  35 | |                         if let Ok((mut stream, _)) = accept {
[INFO] [stdout]     | |                                    ----------
[INFO] [stdout]     | |                                    |
[INFO] [stdout]     | |                                    `stream` calls a custom destructor
[INFO] [stdout]     | |                                    `stream` will be dropped later as of Edition 2024
[INFO] [stdout]  36 | |                             loop {
[INFO] [stdout]  37 | |                                 match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]     | |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                                       |                                  |
[INFO] [stdout]     | |                                       |                                  this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     | |                                       |                                  up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                                       |                                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                       |                                  `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                       this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     | |                                       up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                                       `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout]  40 | |                                         let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     | |                                                 ---------------------------------------------
[INFO] [stdout]     | |                                                 |                                       |
[INFO] [stdout]     | |                                                 |                                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                 |                                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout]  47 | |                                         let _ = write_frame(&mut stream, &resp).await;
[INFO] [stdout]     | |                                                 -------------------------------------
[INFO] [stdout]     | |                                                 |                               |
[INFO] [stdout]     | |                                                 |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                                 |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                                                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout]  51 | |                                         let _ = write_frame(&mut stream, &Response::Error {
[INFO] [stdout]     | |    _____________________________________________-
[INFO] [stdout]  52 | |   |                                         message: "not supported".into(),
[INFO] [stdout]  53 | |   |                                     }).await;
[INFO] [stdout]     | |   |                                        -----
[INFO] [stdout]     | |   |                                        |   |
[INFO] [stdout]     | |   |                                        |   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |   |                                        |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     | |   |________________________________________|___this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                                            |   `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |                                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout]  57 | |                             }
[INFO] [stdout]     | |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...   |
[INFO] [stdout]  60 | |                     _ = &mut rx => break,
[INFO] [stdout]  61 | |                 }
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 `output` calls a custom destructor
[INFO] [stdout]     | |                 `output` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `futures_init` calls a custom destructor
[INFO] [stdout]     | |                 `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                 `futures` calls a custom destructor
[INFO] [stdout]     | |                 `futures` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `accept` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/cli_integration_test.rs:37:35
[INFO] [stdout]     |
[INFO] [stdout]  37 |                               match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                     |                                  |
[INFO] [stdout]     |                                     |                                  this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                     |                                  up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                     up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                     `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  40 |                                       let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                               ---------------------------------------------
[INFO] [stdout]     |                                               |                                       |
[INFO] [stdout]     |                                               |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                               |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                               `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  47 |                                       let _ = write_frame(&mut stream, &resp).await;
[INFO] [stdout]     |                                               -------------------------------------
[INFO] [stdout]     |                                               |                               |
[INFO] [stdout]     |                                               |                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                               |                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                               `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |                                       let _ = write_frame(&mut stream, &Response::Error {
[INFO] [stdout]     |  _____________________________________________-
[INFO] [stdout]  52 | |                                         message: "not supported".into(),
[INFO] [stdout]  53 | |                                     }).await;
[INFO] [stdout]     | |                                        -----
[INFO] [stdout]     | |                                        |   |
[INFO] [stdout]     | |                                        |   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                        |   `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |________________________________________|___this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                          |   `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |                           }
[INFO] [stdout]     |                           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/core/tests/protocol_integration_test.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/core/tests/protocol_integration_test.rs (1 fix)
[INFO] [stderr]    Migrating crates/core/tests/dsl_integration_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/core/tests/shell_integration_test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/dsl_integration_test.rs:66:39
[INFO] [stdout]     |
[INFO] [stdout]  66 |   ...                       match read_frame::<Request>(&mut stream).await {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                   |                                  |
[INFO] [stdout]     |                                   |                                  this value will be stored in a temporary; let us call it `#26`
[INFO] [stdout]     |                                   |                                  up until Edition 2021 `#26` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#25`
[INFO] [stdout]     |                                   up until Edition 2021 `#25` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  67 |   ...                           Ok(Request::WriteInput { data }) => {
[INFO] [stdout]  68 |   ...                               out.lock().unwrap().push_str(&data);
[INFO] [stdout]     |                                     -------------------
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  71 |   ...                                   out.lock().unwrap().push_str("hello\n$ ");
[INFO] [stdout]     |                                         -------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  72 |   ...                               } else if data.contains("\n") {
[INFO] [stdout]  73 |   ...                                   out.lock().unwrap().push_str("$ ");
[INFO] [stdout]     |                                         -------------------
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  74 |   ...                               }
[INFO] [stdout]  75 |   ...                               let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                             ---------------------------------------------
[INFO] [stdout]     |                                             |                                       |
[INFO] [stdout]     |                                             |                                       this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                             |                                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  78 |   ...                               let screen = out.lock().unwrap().clone();
[INFO] [stdout]     |                                                  -------------------
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                                  `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  83 |   ...                               let _ = write_frame(&mut stream, &resp).await;
[INFO] [stdout]     |                                             -------------------------------------
[INFO] [stdout]     |                                             |                               |
[INFO] [stdout]     |                                             |                               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                                             |                               `#11` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                             `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                             `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  86 |   ...                               let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                             ---------------------------------------------
[INFO] [stdout]     |                                             |                                       |
[INFO] [stdout]     |                                             |                                       this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                                             |                                       `#14` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                             `#13` will be dropped later as of Edition 2024
[INFO] [stdout]  87 |   ...                               // After subscribe, send initial output
[INFO] [stdout]  88 |   ...                               let screen = out.lock().unwrap().clone();
[INFO] [stdout]     |                                                  -------------------
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]     |                                                  `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |   ...                                   let _ = write_frame(&mut stream, &chunk).await;
[INFO] [stdout]     |                                                 --------------------------------------
[INFO] [stdout]     |                                                 |                                |
[INFO] [stdout]     |                                                 |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]     |                                                 |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]     |                                                 `#16` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]     |                                                 `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  97 |   ...                               let _ = write_frame(&mut stream, &Response::Ok).await;
[INFO] [stdout]     |                                             ---------------------------------------------
[INFO] [stdout]     |                                             |                                       |
[INFO] [stdout]     |                                             |                                       this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]     |                                             |                                       `#21` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]     |                                             `#19` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]     |                                             `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 100 |   ...                               let _ = write_frame(&mut stream, &Response::Error {
[INFO] [stdout]     |  ___________________________________________-
[INFO] [stdout] 101 | | ...                                   message: "authentication not supported".into(),
[INFO] [stdout] 102 | | ...                               }).await;
[INFO] [stdout]     | |                                      -----
[INFO] [stdout]     | |                                      |   |
[INFO] [stdout]     | |                                      |   this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]     | |                                      |   `#22` will be dropped later as of Edition 2024
[INFO] [stdout]     | |______________________________________|___this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]     |                                        |   `#23` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#24`
[INFO] [stdout]     |                                        `#24` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 106 |   ...                   }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#25` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#24` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/core/tests/buffer_integration_test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/e2e/src/session.rs:228:35
[INFO] [stdout]      |
[INFO] [stdout]  216 |       let mut rx: Option<tokio::sync::broadcast::Receiver<Vec<u8>>> = None;
[INFO] [stdout]      |           ------
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `rx` calls a custom destructor
[INFO] [stdout]      |           `rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  220 | /             tokio::select! {
[INFO] [stdout]  221 | |                 req_result = read_frame::<Request>(&mut stream) => {
[INFO] [stdout]      | |                 ----------
[INFO] [stdout]      | |                 |
[INFO] [stdout]      | |                 `req_result` calls a custom destructor
[INFO] [stdout]      | |                 `req_result` will be dropped later as of Edition 2024
[INFO] [stdout]  222 | |                     match req_result {
[INFO] [stdout]  223 | |                         Ok(Request::Unsubscribe) => {
[INFO] [stdout] ...    |
[INFO] [stdout]  228 | |                             match pty_writer.lock() {
[INFO] [stdout]      | |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                                   |
[INFO] [stdout]      | |                                   this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                   up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  229 | |                                 Ok(mut w) => {
[INFO] [stdout]      | |                                    -----
[INFO] [stdout]      | |                                    |
[INFO] [stdout]      | |                                    `w` calls a custom destructor
[INFO] [stdout]      | |                                    `w` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  242 | |                         }
[INFO] [stdout]      | |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  243 | |                         Ok(Request::GetOutput) => match buffer.lock() {
[INFO] [stdout]      | |                                                         -------------
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  244 | |                             Ok(buf) => {
[INFO] [stdout]      | |                                ---
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `buf` calls a custom destructor
[INFO] [stdout]      | |                                `buf` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  272 | |             }
[INFO] [stdout]      | |             -
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             `output` calls a custom destructor
[INFO] [stdout]      | |             `output` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures_init` calls a custom destructor
[INFO] [stdout]      | |             `futures_init` will be dropped later as of Edition 2024
[INFO] [stdout]      | |             `futures` calls a custom destructor
[INFO] [stdout]      | |             `futures` will be dropped later as of Edition 2024
[INFO] [stdout]      | |_____________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  273 |           } else {
[INFO] [stdout]  274 |               let req: Request = match read_frame(&mut stream).await {
[INFO] [stdout]      |                                        -----------------------------
[INFO] [stdout]      |                                        |                       |
[INFO] [stdout]      |                                        |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                        |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                        `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                        `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 |                   Request::WriteInput { data } => match pty_writer.lock() {
[INFO] [stdout]      |                                                         -----------------
[INFO] [stdout]      |                                                         |
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  286 |                       Ok(mut w) => {
[INFO] [stdout]      |                          -----
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  299 |                   Request::GetOutput => match buffer.lock() {
[INFO] [stdout]      |                                               -------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  300 |                       Ok(buf) => {
[INFO] [stdout]      |                          ---
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                          `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 |               if write_frame(&mut stream, &resp).await.is_err() {
[INFO] [stdout]      |                  -------------------------------------
[INFO] [stdout]      |                  |                               |
[INFO] [stdout]      |                  |                               this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                  |                               `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                  `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                  `#10` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/sync/broadcast.rs:1548:1
[INFO] [stdout]      |
[INFO] [stdout] 1548 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `output` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `req_result` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `w` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `buf` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/e2e/src/session.rs:156:57
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let mut runner = TestRunner::connect(&self.socket_path).await?;
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `runner` calls a custom destructor
[INFO] [stdout]     |             `runner` will be dropped later as of Edition 2024
[INFO] [stdout] 156 |         execute_commands(&mut runner, &script.commands).await
[INFO] [stdout]     |                                                         ^^^^^
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 157 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `runner` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/e2e/src/session.rs:171:34
[INFO] [stdout]     |
[INFO] [stdout] 170 |         let mut runner = TestRunner::connect(&self.socket_path).await?;
[INFO] [stdout]     |             ----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `runner` calls a custom destructor
[INFO] [stdout]     |             `runner` will be dropped later as of Edition 2024
[INFO] [stdout] 171 |         builder.run(&mut runner).await
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 172 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `runner` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/core/tests/sigwinch_integration_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/core/tests/streaming_integration_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/core/tests/ipc_integration_test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/core/tests/ipc_integration_test.rs:182:31
[INFO] [stdout]     |
[INFO] [stdout] 174 |             let mut client = IpcClient::connect(&path).await.unwrap();
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `client` calls a custom destructor
[INFO] [stdout]     |                 `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 182 |             client.send(&req).await.unwrap()
[INFO] [stdout]     |                               ^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 183 |         });
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.50.0/src/io/poll_evented.rs:312:1
[INFO] [stdout]     |
[INFO] [stdout] 312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/e2e/examples/vim_test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/cli/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking agent-terminal v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] [stderr] crater-edition-check: agent-terminal v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: cli v0.1.0 (/opt/rustwide/workdir/crates/cli) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: agent-terminal-core v0.1.0 (/opt/rustwide/workdir/crates/core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: vt-100 v0.1.0 (/opt/rustwide/workdir/crates/vt-100) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: agent-terminal-e2e v0.1.0 (/opt/rustwide/workdir/crates/e2e) updating edition from 2021 to 2024
[INFO] [stderr]     Checking vt-100 v0.1.0 (/opt/rustwide/workdir/crates/vt-100)
[INFO] [stdout] warning: struct `DummyClipboard` is never constructed
[INFO] [stdout]   --> crates/vt-100/src/lib.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct DummyClipboard;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DummyClipboard` is never constructed
[INFO] [stdout]   --> crates/vt-100/src/lib.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct DummyClipboard;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking agent-terminal-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking agent-terminal-e2e v0.1.0 (/opt/rustwide/workdir/crates/e2e)
[INFO] [stdout] warning: function `sleep_secs` is never used
[INFO] [stdout]   --> crates/core/tests/lock_integration_test.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn sleep_secs(secs: u64) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `agent_terminal_core::buffer::OutputBuffer`
[INFO] [stdout]  --> crates/core/tests/dsl_integration_test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use agent_terminal_core::buffer::OutputBuffer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]  --> crates/core/tests/dsl_integration_test.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::time::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `buffer` is never read
[INFO] [stdout]   --> crates/core/tests/session_integration_test.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct MockSession {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] 14 |     buffer: Arc<Mutex<OutputBuffer>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `buffer` and `broadcast_tx` are never read
[INFO] [stdout]   --> crates/core/tests/streaming_integration_test.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct MockStreamingSession {
[INFO] [stdout]    |        -------------------- fields in this struct
[INFO] [stdout] 15 |     buffer: Arc<Mutex<OutputBuffer>>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     broadcast_tx: broadcast::Sender<Vec<u8>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stdout] warning: function `temp_socket_path` is never used
[INFO] [stdout]  --> crates/core/tests/common/mod.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn temp_socket_path() -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_temp_session_dir` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn setup_temp_session_dir() -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockServer` is never constructed
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct MockServer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `shutdown` are never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:39:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockServer {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new mock server that will bind to the given socket path.
[INFO] [stdout] 39 |     pub async fn new<F, Fut>(socket_path: &str, handler: F) -> anyhow::Result<Self>
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub async fn shutdown(mut self) {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_condition` is never used
[INFO] [stdout]   --> crates/core/tests/common/mod.rs:89:14
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub async fn wait_for_condition<F>(mut condition: F, timeout_ms: u64) -> bool
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_for_file` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub async fn wait_for_file(path: &Path, timeout_ms: u64) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_test_data` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn generate_test_data(size: usize) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TempSessionGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct TempSessionGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `file_path`, and `override_session_dir` are never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TempSessionGuard {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 121 |     /// Create a new temp session guard with a unique directory.
[INFO] [stdout] 122 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn file_path(&self, name: &str) -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn override_session_dir(&self) -> &Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LockFileGuard` is never constructed
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct LockFileGuard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/core/tests/common/mod.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl LockFileGuard {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 162 |     pub fn new(session_id: String) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking agent-terminal v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 18s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "5b7d2f06735c460221dce7b84e0de1bcfe26eb9b14455a8e400a0c0c3c4f0407", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b7d2f06735c460221dce7b84e0de1bcfe26eb9b14455a8e400a0c0c3c4f0407", kill_on_drop: false }`
[INFO] [stdout] 5b7d2f06735c460221dce7b84e0de1bcfe26eb9b14455a8e400a0c0c3c4f0407
